package main

import (
	"fmt"
	"github.com/gin-gonic/gin"
	"io/ioutil"
	"log"
	"net/http"
)

func test(c *gin.Context) {
	log.Println(">>> test function start  <<<")

	// 解析body体
	body, _ := ioutil.ReadAll(c.Request.Body)
	fmt.Println(body)

	// 获取请求头
	for k, v := range c.Request.Header {
		fmt.Println(k, v)
	}

	// 返回json数据格式(状态码，map数据结构)
	c.JSON(200, gin.H{
		"message": "test",
	})
}

func test1(c *gin.Context) {
	log.Println(">>> test1 function start  <<<")
	c.JSON(http.StatusOK, gin.H{
		"code":    200,
		"message": "test1",
	})
}

func main() {

	// Engin指针，进行多路复用、中间件、配置的设置
	r := gin.Default() // 同 r := gin.New()

	// 创建GET方法并绑定handler
	r.GET("/test", test)

	// 创建所有方法均可访问的handler
	r.Any("/test1", test1)
	// 运行程序
	r.Run("localhost:80") // 同 r.Run("localhost:8080")
}
